﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace Ocean.His.MedicalInsurance
{
    /// <summary>
    /// 
    /// </summary>
    [DataContract]
    public class SI4505Data
    {
        /// <summary>
        /// 就医流水号
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：
        /// 是否必填：Y
        /// 院内唯一号
        /// </summary>
        [DataMember(Name = "mdtrt_sn")]
        public string MdtrtSn { get; set; }

        /// <summary>
        /// 就诊ID
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：
        /// 是否必填：
        /// 医保病人必填
        /// </summary>
        [DataMember(Name = "mdtrt_id")]
        public string MdtrtId { get; set; }

        /// <summary>
        /// 人员编号
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：
        /// 是否必填：
        /// 医保病人必填
        /// </summary>
        [DataMember(Name = "psn_no")]
        public string PsnNo { get; set; }

        /// <summary>
        /// 病理号
        /// 参数类型：字符型
        /// 参数长度：18
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "palg_no")]
        public string PalgNo { get; set; }

        /// <summary>
        /// 冰冻号
        /// 参数类型：字符型
        /// 参数长度：50
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "frez_no")]
        public string FrezNo { get; set; }

        /// <summary>
        /// 送检日期
        /// 参数类型：日期型
        /// 参数长度：
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "cma_date")]
        public string CmaDate { get; set; }

        /// <summary>
        /// 报告日期
        /// 参数类型：日期型
        /// 参数长度：
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "rpt_date")]
        public string RptDate { get; set; }

        /// <summary>
        /// 送检材料
        /// 参数类型：字符型
        /// 参数长度：200
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "cma_matl")]
        public string CmaMatl { get; set; }

        /// <summary>
        /// 临床诊断
        /// 参数类型：字符型
        /// 参数长度：1000
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "clnc_diag")]
        public string ClncDiag { get; set; }

        /// <summary>
        /// 检查所见
        /// 参数类型：字符型
        /// 参数长度：1000
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "exam_fnd")]
        public string ExamFnd { get; set; }

        /// <summary>
        /// 免疫组化
        /// 参数类型：字符型
        /// 参数长度：1000
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "sabc")]
        public string Sabc { get; set; }

        /// <summary>
        /// 病理诊断
        /// 参数类型：字符型
        /// 参数长度：4000
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "palg_diag")]
        public string PalgDiag { get; set; }

        /// <summary>
        /// 报告医师
        /// 参数类型：字符型
        /// 参数长度：50
        /// 代码标识：
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "rpot_doc")]
        public string RpotDoc { get; set; }

        /// <summary>
        /// 有效标志
        /// 参数类型：字符型
        /// 参数长度：3
        /// 代码标识：Y
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "vali_flag")]
        public string ValiFlag { get; set; }

    }

    /// <summary>
    /// 
    /// </summary>
    [DataContract]
    public class SI4505InputModel
    {
        [DataMember(Name = "data")]
        public SI4505Data si4505Data { get; set; }
    }



    /// <summary>
    /// 4505
    /// 病理检查报告记录
    /// </summary>
    [DataContract]
    public class SI4505RequestModel : SIBaseRequestModel
    {
        /// <summary>
        /// 交易输入
        /// </summary>
        [DataMember(Name = "input")]
        public SI4505InputModel Input { get; set; }

        public SI4505RequestModel(MedicalInsuranceOption config) : base(config)
        {
            Infno = "4505";
        }
    }
}
